home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 007a / ttpmp11.zip / TTPMP.PAS < prev    next >
Pascal/Delphi Source File  |  1991-08-28  |  5KB  |  127 lines

  1. Program TriTelPersonalMailPager;
  2.  
  3. Uses ttprocs,dos,crt;
  4.  
  5. VAR
  6.    ConferenceFile:FILE of ConferenceType;
  7.    ConferenceRecord:ConferenceType;
  8.    ConferenceLoop:INTEGER;
  9.    MessagePointerFile:FILE of MessagePointerType;
  10.    MessagePointerRecord:MessagePointerType;
  11.    UserDataFile:FILE of UserDataType;
  12.    UserRecord:UserDataType;
  13.    UserNumber:INTEGER;
  14.    WorkString,
  15.    WorkFileName:STRING;
  16.    LogOnFileName:STRING;
  17.    WorkTextFile:TEXT;
  18.    FirstConfFlag,
  19.    FirstMsgFlag:BOOLEAN;
  20.  
  21. begin {Main Program}
  22.   IF ParamCount = 1 THEN
  23.      begin
  24.        ClrScr;
  25.        Writeln('Scanning conferences for private mail....');
  26.        ASSIGN(UserDataFile,ParamStr(1)+'\WORK\USERS.DAT');
  27.        ASSIGN(ConferenceFile,ParamStr(1)+'\WORK\MCONF.DAT');
  28.        IF NOT FileExists(ParamStr(1)+'\WORK\USERS.DAT') THEN
  29.           begin
  30.                writeln('You have given an incorrect path to your TriTel directory.');
  31.                writeln('Please fix this problem and continue.');
  32.                HALT(1);
  33.           end;
  34.        ASSIGN(WorkTextFile,ParamStr(1)+'\DISPLAY\TEMPFILE.TMP');
  35.        RESET(UserDataFile);
  36.        UserNumber:=1;
  37.        FirstConfFlag:=TRUE;
  38.        FirstMsgFlag:=TRUE;
  39.        WHILE NOT EOF(UserDataFile) DO
  40.          begin
  41.            ConferenceLoop:=1;
  42.            RESET(ConferenceFile);
  43.            READ(UserDataFile,UserRecord);
  44.            WHILE NOT EOF(ConferenceFile) DO
  45.              begin
  46.                READ(ConferenceFile,ConferenceRecord);
  47.                STR(ConferenceLoop,WorkFileName);
  48.                WHILE LENGTH(WorkFileName) < 4 DO WorkFileName:='0'+WorkFileName;
  49.                WorkFileName:=ParamStr(1)+'\WORK\M'+WorkFileName+'.PTR';
  50.                IF FileExists(WorkFileName) THEN
  51.                  begin
  52.                    ASSIGN(MessagePointerFile,WorkFileName);
  53.                    RESET(MessagePointerFile);
  54.                    WHILE NOT EOF(MessagePointerFile) DO
  55.                      begin
  56.                        READ(MessagePointerFile,MessagePointerRecord);
  57.                                              IF (MessagePointerRecord.MessageToName=UserRecord.UserName)
  58.                                                     AND (MessagePointerRecord.RCVDFlag <> 1)
  59.                                                     AND (MessagePointerRecord.DeletedFlag <> 1) THEN
  60.                          begin
  61.                            IF FirstConfFlag THEN
  62.                               begin
  63.                                 REWRITE(WorkTextFile);
  64.                                                                 WRITELN(WorkTextFile,'>> TriTel Personal Mail Pager <<');
  65.                                                                 WRITELN(WorkTextFile);
  66.                                                                 WRITELN(WorkTextFile);
  67.                                 WRITELN(WorkTextFile,'              YOU HAVE PERSONAL MAIL!');
  68.                                                                 WRITELN(WorkTextFile,'                  * = private mail');
  69.                                 CLOSE(WorkTextFile);
  70.                                 FirstConfFlag:=FALSE;
  71.                               end;
  72.                            IF FirstMsgFlag THEN
  73.                               begin
  74.                                 APPEND(WorkTextFile);
  75.                                 WRITELN(WorkTextFile,ConferenceRecord.ConfDescription);
  76.                                 WRITE(WorkTextFile,'         Message #s: ');
  77.                                 CLOSE(WorkTextFile);
  78.                                 FirstMsgFlag:=FALSE;
  79.                                                             end;
  80.                                                      IF MessagePointerRecord.PrivateFlag = 1 THEN
  81.                                                         begin
  82.                                                             APPEND(WorkTextFile);
  83.                                                             WRITE(WorkTextFile,'*');
  84.                                                             CLOSE(WorkTextFile);
  85.                                                         end;
  86.                            STR(MessagePointerRecord.MessageNumber,WorkString);
  87.                            APPEND(WorkTextFile);
  88.                            WRITE(WorkTextFile,WorkString,'  ');
  89.                            CLOSE(WorkTextFile);
  90.                          end
  91.                                          end;
  92.                                      IF NOT FirstMsgFlag THEN
  93.                                         begin
  94.                                          APPEND(WorkTextFile);
  95.                                          WRITELN(WorkTextFile);
  96.                                          WRITELN(WorkTextFile);
  97.                                          CLOSE(WorkTextFile);
  98.                                          FirstMsgFlag:=TRUE;
  99.                                         end;
  100.                    CLOSE(MessagePointerFile);
  101.                    ConferenceLoop:=ConferenceLoop+1;
  102.                end;
  103.              end;
  104.                      CLOSE(ConferenceFile);
  105.                      IF NOT FirstConfFlag THEN
  106.                         begin
  107.                          APPEND(WorkTextFile);
  108.                          WRITELN(WorkTextFile);
  109.                          WRITELN(WorkTextFile);
  110.                          WRITELN(WorkTextFile,'@MORE@');
  111.                          CLOSE(WorkTextFile);
  112.                          STR(UserNumber,LogOnFileName);
  113.                          LogOnFileName:=ParamStr(1)+'\DISPLAY\'+LogOnFileName;
  114.                          AddToPersonalLogOn(LogOnFileName,WorkTextFile);
  115.                          FirstConfFlag:=TRUE;
  116.                         end;
  117.            UserNumber:=UserNumber+1;
  118.          end;
  119.        CLOSE(UserDataFile);
  120.      end
  121.   ELSE
  122.      begin
  123.           writeln('Please include the path to your TriTel directory in the command line');
  124.           HALT(1);
  125.      end;
  126. end.  {Main Program}
  127.